<?php

namespace App\Http\Middleware;

use Illuminate\Http\Middleware\TrustHosts as Middleware;

class TrustHosts extends Middleware
{
    /**
     * 在 Laravel 中，TrustHosts 中间件用于指定应用应该信任的主机名或IP地址。
     * 这个中间件对于确保你的应用程序只响应来自特定可信来源的请求非常重要，尤其是在处理跨站请求伪造（CSRF）保护和其他安全特性时
     *从 Laravel 7 开始，TrustHosts 中间件默认是启用的，并且配置文件位于 app/Http/Middleware/TrustHosts.php。
     *该中间件允许你定义哪些主机被认为是可信的，这对于那些通过反向代理或者负载均衡器访问的应用来说尤为重要
      *正确配置和使用 TrustHosts 中间件可以帮助增强你的应用程序的安全性，确保只有来自指定可信来源的请求才能到达你的应用。这在防御某些类型的攻击（如CSRF攻击）时尤为重要
     * @return array<int, string|null>
     */
    public function hosts(): array
    {
        return [
            $this->allSubdomainsOfApplicationUrl(),
        ];
    }
}
